GORAGOD.com

freelance, web developer, web designer, hosting, domain name

class Timer สำหรับการทำ Bench Mark

class Timer เป็น class สำหรับอ่านค่าเวลาเป็น ไมโครวินาที เพื่อการตรวจสอบหรือการทำ Bench Mark โค้ด PHP ด้วยฟังก์ชั่น getMicrotime()

<?php
class Timer{
    private $elapsedTime;

    // start timer
    public function start()
    {
        if( !$this->elapsedTime = $this->getMicrotime() )
        {
            throw new Exception( 'Error obtaining start time!' );
        };
    }

    // stop timer
    public function stop()
    {
        if( !$this->elapsedTime = round( $this->getMicrotime() - $this->elapsedTime , 10 ) )
        {
            throw new Exception( 'Error obtaining stop time!' );
        };
        return $this->elapsedTime;
    }

    // define private 'getMicrotime()' method
    private function getMicrotime()
    {
        list( $useg , $seg ) = explode( ' ' , microtime() );
        return ( (float)$useg + (float)$seg );
    }
};
?>

ตัวอย่างการใช้งาน

<?php
$val = range( '0' , '1000' ); // แอเรย์ที่กำหนด

$a = '';
$bm = new Timer; // เรียกใช้งาน class
$bm->start(); // เริ่มต้นจับเวลา
// ประมวลผลการทดสอบ
for( $i = 0 ; $i < count($val) ; $i++ )
{
    $a .= $val[$i];
}
echo $bm->stop(); // แสดงเวลาที่ใช้ไป
?>
0SHAREFacebookLINE it!
^